In diesem kurzen Kapitel schauen wir uns das Exception-Handling in PHP an, das leider nicht sehr ausgeprägt ist. Häufig findet man folgende Fehlerbehandlung in PHP-Skripten: Entweder ein sofortiger Abbruch mit den Befehlen „die“ oder „exit“, wobei bei „die“ noch eine Meldung als Parameter mitgegeben werden kann. Oder Sie finden eine Unterdrückung von Fehlermeldungen mit At-Symbol wie hier bei dem „fopen“-Befehl. Beide Arten bringen Probleme mit sich: Es kann sein, dass eine unvollständige Seite zum Browser geschickt wird. Es entstehen leere Seiten oder Layout-Katastrophen. Oder der Anwender erhält keine Rückmeldung. PHP bietet nun eine echte Ausnahmebehandlung, denn Fehler können mit try-catch behandelt werden. In den neueren PHP-Versionen existiert auch try-catch-finally sowie try-finally, sehr ähnlich zu Java. Dabei können sinnvolle Meldungen ausgegeben werden und die Web-Seite kann in allen Fällen ordentlich abgeschlossen werden. Die Basisklasse aller Ausnahmen ist die Klasse Exception. Beliebige eigene Ausnahmen sind daraus ableitbar. Es gibt aber keine vordefinierte Exception-Klassenhierarchie in PHP, also nicht so etwas wie NullPointerException in Java. Noch problematischer ist jedoch: Keine der vorhandenen PHP-Funktionen wirft Ausnahmen! Hier sehen Sie abschließend ein Beispiel für eigene Exceptions mit einer Vererbung sowie mehreren catch-Blöcken. Objektorientiertes PHP wird in dieser Veranstaltung nicht näher behandelt, aber es ist sehr ähnlich wie in Java.